package cn.oyjg.base.service;

import java.util.List;

import cn.oyjg.base.util.PageUtil;

public interface BaseService<T> {
	
	/**
	 * 保存一个对象
	 * 
	 * @param o
	 *            对象
	 * @throws Exception 
	 */
	public void insert(T o) throws Exception;

	/**
	 * 更新一个对象
	 * 
	 * @param o
	 *            对象
	 * @throws Exception 
	 */
	public void update(T o) throws Exception;

	/**
	 * 删除一个对象
	 * 
	 * @param o
	 *            对象
	 * @throws Exception 
	 */
	public void delete(Integer id) throws Exception;
	
	public List<T> selectAll();


	/**
	 * 查找对象集合,带分页
	 * 
	 * @param hql
	 * @param page
	 *            当前页
	 * @param rows
	 *            每页显示记录数
	 * @param param
	 * @return 分页后的List<T>
	 */
	public List<T> selectListByPage(PageUtil page);

	int selectCountByPage(PageUtil page);
}
